\documentclass[10pt,aspectratio=43,mathserif,handout,UTF8]{ctexbeamer}
\usepackage[utf8]{inputenc}
\usepackage{multimedia, animate, algpseudocode}
\usepackage{amsmath, amsthm, amsfonts} 
\usepackage{mathrsfs} 
\usepackage{float} 
\usepackage{CJKulem}
\usepackage{cancel}
%\usepackage{tikz}
%\usepackage{xcolor}
%\usepackage{subcaption}
\usepackage{graphicx}
%\usepackage{hyperref}
\hypersetup{bookmarks, unicode}
\usepackage{fontspec} 
\usepackage{CJKutf8}
%\usepackage{algorithm}
%\usepackage{algpseudocode}
\usetheme{Berlin}
\graphicspath{{../img/}}
%\renewcommand{\algorithmicrequire}{\textbf{输入:}}
%\renewcommand{\algorithmicensure}{\textbf{输出:}}
\AtBeginSection[]
{
    \begin{frame}<beamer>
    \frametitle{\textbf{table of contents}}
    \tableofcontents[currentsection]
    \end{frame}
}
\begin{document}
\title{12月18日组会}
\author{}
\institute{哈尔滨工业大学}
\date{}
\frame{\titlepage}
\begin{frame}{Stochastic Value Gradient NIPS 2015 \cancel{动作序列梯度}}
    \setbeamercolor{normal text}{fg=gray}
    \setbeamercolor{math text}{fg=gray}
    \usebeamercolor[fg]{normal text}
    设环境动力学模型为$f:\mathcal S\times\mathcal A\to \mathcal S$

    奖励函数为$g:\mathcal S\to \mathbb R$

    其中状态空间$\mathcal S$是相空间，$s_0$为初始状态，随机选取动作序列$a_0,\cdots,a_T$

    $s_1=f(s_0,a_0),\cdots, s_T=f(s_{T-1},a_{T-1})$

    $r_1=g(s_1),\cdots, r_T=g(s_T)$

    此方程组可消去$s_1, \cdots, s_{T-1}$

    得到动作序列的价值函数$J(a_0,\cdots,a_T)=g(f(s_0,a_0))+g(f(f(s_0,a_0),a_1))+\cdots$

    用价值关于动作序列的梯度更新动作序列，可以得到价值更高的动作序列
    $$ a_i^{new} = a_i + \nabla_{a_i} J$$
\end{frame}
\begin{frame}{奖励梯度}
    设环境动力学模型为$f:\mathcal S\times\mathcal A\to \mathcal S$

    奖励函数为$g:\mathcal S\to \mathbb R$

    其中状态空间$\mathcal S$是相空间，当前状态为$s_t$，当前动作为$a_t$

    $s_{t+1}=f(s_t,a_t)$

    $r_t=g(s_{t+1})$

    得到奖励函数在在动力学模型下的梯度$\frac{d r_t}{d a_t}=\frac{\partial g(f(s_t,a_t))}{\partial a_t}$

    将奖励梯度信息编码进观测$o_t$中，即$o_t=s_t\oplus \frac{d r_t}{d a_t}$，并用于决策

\end{frame}
\begin{frame}{奖励梯度}
    \begin{figure}
        \centering
        \includegraphics[width=0.8\textwidth]{reward_fetch_nograd_withgrad.png}
        \caption{观测中添加奖励梯度信息与未添加对比}
    \end{figure}
\end{frame}
\begin{frame}{结合z3规划器与基于模型的强化学习}
    规划器输入奖励函数$g:\mathcal S\to \mathbb R$和初始状态$s_0$，输出动作序列$a_0,\cdots,a_T$

    使用z3对奖励函数$g$进行验证和调整，生成一个没有局部极小的导航函数

    使用z3在实数理论上的可满足性算法对物理模型上的问题进行求解，$\pi(s_t, \theta_t, L(\theta_t))=a_t \oplus \theta_{t+1}$，其中$\theta_t$参数化了一个对物理模型的提问，$L(\theta_t)$是z3的回答

    On the model-based stochastic value gradient for continuous reinforcement learning ICML2021  \textcolor{gray}{将可微的环境模型$f:\mathcal S\times\mathcal A\to \mathcal S$作为RNN中的一个模块，并将输出送入$g$后求和计算价值，反向传播时就会自动得到动作序列的梯度}
\end{frame}
\end{document}

